小当家ISV
互联网高新技术服务商

全球共有10多个国家和地区1000多个平台,20万+商户使用

小白面试:你知道.NET与C#的关系吗?

作者:    谭智文       发布时间:     2023-04-22          540      分类专栏: 后端开发

 这个问题很大啊,但是很多.NET求职者都比较模糊。小白有一次面试被问到这个问题,.NET与C#有什么关系?C# 9能运行在.NET Framework3.5 吗?这还真给小白难到了,平时开发还真没有注意这个问题。面试官问这个问题说实话有点两面性,从普通开发的角度来讲,没有啥用,只要能写代码就可以;但是从面试官的观点来说,问这个问题可以了解你对.NET和C#的熟悉程度。当然面试官面试的是一个架构师,大可问这个问题。本文将讨论这个话题。

.NET与C#的关系

     首先.NET与C#两者不是一个东西,.NET 是一个免费的跨平台开放源代码开发人员平台,用于生成多种类型的应用程序(免费的跨平台开放源代码针对.NET Core/.NET5/.NET6)。.NET是C#运行环境,而C#是开发语言, C# 能够生成在 .NET 中运行的多种安全可靠的应用程序;.NET公共语言运行时 (CLR) 是生成所有 .NET 应用的基础,运行时支持多种语言,有 C#、F# 和 Visual Basic 语言。

    .NET的演进与其他开发语种有本质的区别。它的始终处于“不稳定的状态”,它的新版本除了增加一些新功能外还修改了前面版本的bug。.NET Framework与.NET Core有本质的区别,他们的运行原理发生了变化,.NET Core/.NET 5/.NET6的应用不再向下兼容.NET Framework,但类库可以通过.NET Standard协议规范得到兼容。C#语言不同,它的各个版本可以向下兼容,比如C#10是可以运行在.NET3.5的,当然有些新的特性是不能运行。C#和.NET两者没有必然的联系。

    下面我们先用C#10版本用.NET6环境创建的控制台程序简单写个字符串并输出,然后新建一个.NET3.5的控制台程序同样运行在.NET6环境创建的代码。

  1. static void Main(string[] args)
  2.  {
  3.        string a = "abcs";
  4. Console.WriteLine($"test{a}");
  5. Console.ReadLine();
  6.  }

da70901a51ef04eb514bfc171ab5202a.png

.NET 6运行结果

eefd93af4f9d2c6d9e014ea5436ac6a4.png

ae97d7c949741b701a84a8e3d2c94e29.png

.NET 3.5运行结果

由此可见,C#语言和.NET两者没有必然的联系。

所属分类: 后端开发
.net与.net framework和C#的关系与区别
前端基础布局知识基本点

小当家,帮您把生意越做越大!

小当家ISV,重庆APP开发,小程序开发,软件系统开发 地址:重庆市南岸区南坪万达广场写字楼2栋19-6 联系电话:023-81361879

ICP备案号:渝ICP备15003473-1 增值电信业务许可证: 渝B2-15003473 渝公网安备 50010802005103号

友情链接: 小当家点餐收银系统   MagicShop商城  重庆微信营销  重庆智能家居  重庆红岭医院 

重庆小当家互联网信息技术有限公司